package com.eurasia.assignment.infrastructure.repository;

import com.eurasia.assignment.domain.Class;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 班级数据访问接口
 * 提供班级相关的数据库操作
 */
@Repository
public interface ClassRepository extends JpaRepository<Class, Long> {
    
    /**
     * 根据班级名称查找班级
     */
    Class findByClassName(String className);
    
    /**
     * 根据专业查找班级列表
     */
    List<Class> findByMajor(String major);
    
    /**
     * 根据年级查找班级列表
     */
    List<Class> findByGrade(String grade);
    
    /**
     * 根据导师查找班级列表
     */
    List<Class> findByTutor(String tutor);
    
    /**
     * 根据班级名称和年级查找班级
     */
    Class findByClassNameAndGrade(String className, String grade);
} 